home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
feynman
/
feynman.shar
/
FEYNMAN.1.0
/
LOOPS.tex
< prev
next >
Wrap
Text File
|
1992-05-13
|
2KB
|
59 lines
% LOOPS(1).TEX
% DRAWS LOOPS FOR FEYNMAN(32+).TEX: GLUON LOOPS ONLY
\global\newcount\loopfrontx \global\newcount\loopfronty
\global\newcount\loopbackx \global\newcount\loopbacky
\global\newcount\loopmidx \global\newcount\loopmidy
\global\newdimen\CENTRALLOOP
\gdef\drawloop#1[#2#3](#4,#5){
\global\CENTRALLOOP=0pt % non-central is default
\global\LINETYPE=#1
\ifnum\LTYPE=\gluon\relax\else\UNIMPERROR\LTYPE=1\message{Reverting to Gluons}
\fi
\global\LINEDIRECTION=#2 %initial loop direction
\global\fourthlineadjx=#3 %number of eighths of loop
\ifnum\fourthlineadjx=0 % (x,y) now midpoint.
\global\CENTRALLOOP=1pt % non-central is default
\global\fourthlineadjx=8
\global\LDIR=0
\fi
\global\fourthlineadjy=\fourthlineadjx % a conveniently unused variable.
\global\advance\fourthlineadjy by -4
\global\loopfrontx=#4 \global\loopfronty=#5
\ifdim\CENTRALLOOP=1pt
\global\advance\loopfrontx by -2413 \global\advance\loopfronty by -425
\fi % diameter of gluonloop is 4825 to 4830 cpt.
\global\unitboxnumber=1 % default; \gluoncase
\ifnum\LINETYPE=\photon \unitboxnumber=2 \fi
\checkdir
\drawline\LINETYPE[\LDIR\LCONFIG](\loopfrontx,\loopfronty)[\unitboxnumber]
\DRAWLOOP
\ifnum\fourthlineadjy>-1 % at least 1/2 a loop
\global\loopmidx=\loopfrontx \global\loopmidy=\loopfronty
\global\advance\loopmidx by \loopbackx \global\advance\loopmidy by \loopbacky
\divide\loopmidx by 2 \divide\loopmidy by 2 % midpoints of loop
\ifdim\CENTRALLOOP=1pt
\global\advance\loopfrontx by 200 \global\advance\loopfronty by 425
\global\advance\loopbackx by -200 \global\advance\loopbacky by -425
\fi
\fi % end of \ifnum\fourthlineadjy>-1
}
\gdef\DRAWLOOP{
\global\advance\fourthlineadjx by -1
\ifnum\fourthlineadjx=0\relax % finished!
\else
\ifnum\fourthlineadjx=\fourthlineadjy % opposite side of loop
\global\loopbackx=\pbackx \global\loopbacky=\pbacky
\fi
\global\advance\LDIR by 1
\moduloeight\LDIR
\checkdir
\drawline\LINETYPE[\LDIR\LCONFIG](\pbackx,\pbacky)[\unitboxnumber]
\fi % end \ifnum\fourthlineadjx
\ifnum\fourthlineadjx>1 \DRAWLOOP \fi % recursive
}
\gdef\checkdir{
\ifnum\LTYPE=\gluon
\ifodd\LDIR \global\LCONFIG=0 \else \global\LCONFIG=2 \fi
\fi %end of \gluon
}